#ifndef _WMI_DIRECTORY_H
#define _WMI_DIRECTORY_H

/******************************************************************************
** @file	wmi_directory.h
** @author	Andrea Herbas
** @author	Nestor Felipe
** @date	Ago 09, 2010
**
** @desc	This class represent a directory using win32_directory.
*			
**
******************************************************************************/

#include <Wbemidl.h>
#include <comdef.h>
#include <vector>
#include <string>
#include "wmi_filedirectory.h"

class WMI_Directory : public WMI_FileDirectory
{
public:
    /**
    * WMI_Directory constructor initilizes all class properties.
    *
    * @param IWbemClassObject* pointer to a IWbemClassObject instance.
    *        Used to build an WMI_FileDirectory.
    */
    WMI_Directory(IWbemClassObject*);

    /**
    * WMI_Directory constructor that initilizes just using the directory's name.
    *
    * @param name of the directory
    */
    WMI_Directory(wstring&);

    /**
    * Class destructor
    */
    ~WMI_Directory();

    /**
    *
    *
    */
    void addFileDir(WMI_FileDirectory*);

    /**
    * Put the object in a valid string, generally to be displayed.
    */
    void print();

private:
    /**
    * List of files and directories.
    */
    vector<WMI_FileDirectory*> _content;
};

#endif